﻿using System;
using System.Collections.Generic;
using System.Text;
// Based off CDC's Epi Info 7 Query class; see http://epiinfo.codeplex.com

namespace NutriStat.Data
{
    public abstract class Query : IQuery
    {
        #region Private Members
        
        protected string sqlStatement;
        protected List<QueryParameter> parameterCollection;  //zack: should be protected
		#endregion Private Members

		#region Constructors
        
        public Query()
        {
            parameterCollection = new List<QueryParameter>();
        }
		
		public Query(string ansiSqlStatement) : this()
		{
            this.sqlStatement = ansiSqlStatement;
		}
		#endregion Constructors

		#region Public Properties		
        public virtual List<QueryParameter> Parameters
		{
			get
			{
				return parameterCollection;
			}
			set
			{
				parameterCollection = value;
			}
		}
		
		public virtual string SqlStatement
		{
			get
			{
                return this.sqlStatement; 
			}
            // set is not allowed
		}        
		#endregion Public Properties

        #region Public Methods        
        #endregion

        #region Protected Methods        
        #endregion

	}
}
